查看原文
其他

应用预测建模:衡量回归模型的效果

阿越就是我 医学和生信笔记 2023-06-15
关注公众号,发送R语言,获取学习资料!

     Try to learn everything about something! 



  • 模型效果的定量度量

  • 方差-偏差的权衡

  • 使用caret包计算R^2和RMSE


这一篇以理论内容为主。

我们做好了一个回归模型,那么该如何评价其效果呢?

模型效果的定量度量

当结果是数值时,描述预测能力最常用的指标是均方根误差(root mean square, RMSE),RMSE是MSE(均方误差)的平方根,MSE的计算方法时将残差(实际值减去预测值)平方、求和然后取平均。RMSE可解释为残差距离0的远近,或者实际值和预测值之间的平均距离。

另一个常用的度量是决定系数R^2,可解释为数据包含的信息中可以被模型所解释的比例。比如R^2为0.8,可理解为:模型可解释结果变量总变异的80%。可通过先计算实际值和预测值的相关系数,然后平方即可得决定系数。需要注意,R^2是相关性的度量,不是准确性的度量!

方差-偏差的权衡

对于建立的模型的来说,我们希望它能对新的数据作出很好的预测,但是往往我们的模型在测试集中的表现非常好,但是在新的数据中的表现却很差,这就是方差-偏差问题。

模型对于测试集表现非常棒,就是说偏差非常小,但是偏差越小,方差就会越大,也就是对于新的数据的预测能力越差,也就是存在过拟合问题!

一般来说,复杂的模型通常有着很高的方差,这会导致过拟合。另一方面,简单的模型通常会拟合不足(具有较高的偏差)

使用caret包计算R^2和RMSE

准备数据:

observed <- c(0.220.83, -0.120.89, -0.23, -1.3, -0.15, -1.4,
              0.620.99, -0.180.320.34, -0.30.04, -0.87,
              0.55, -1.3, -1.150.2)
predicted <- c(0.240.78, -0.660.530.70, -0.75, -0.41, -0.43
               0.490.79, -1.190.060.75, -0.070.43, -0.42,
               -0.25, -0.64, -1.26, -0.07)

计算残差:

residualValues <- observed - predicted
summary(residualValues)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
## -0.9700 -0.4200  0.0800 -0.0310  0.2625  1.0100

简单画图看一下:

axisRange <- extendrange(c(observed, predicted))
plot(observed, predicted)
abline(01, col = "darkgrey", lty =2)
plot of chunk unnamed-chunk-3
plot(predicted, residualValues)
abline(h = 0, col = "darkgrey", lty = 2)
plot of chunk unnamed-chunk-3

计算:

library(caret)
## 载入需要的程辑包:lattice
## 载入需要的程辑包:ggplot2
R2(predicted, observed)
## [1] 0.5170123
RMSE(predicted, observed)
## [1] 0.5234883


以上就是今天的内容,希望对你有帮助哦!欢迎点赞、在看、关注、转发

欢迎在评论区留言或直接添加我的微信!


欢迎关注公众号:医学和生信笔记

医学和生信笔记 公众号主要分享:1.医学小知识、肛肠科小知识;2.R语言和Python相关的数据分析、可视化、机器学习等;3.生物信息学学习资料和自己的学习笔记!


往期回顾




我的个人博客上线了!

2022-03-29

R语言和网络药理学:批量处理ETCM的数据

2022-03-28

超详细的R语言热图之complexheatmap系列1

2022-01-11

超详细的R语言热图之complexheatmap系列2

2022-01-12

超详细的R语言热图之complexheatmap系列3

2022-01-13

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存